home *** CD-ROM | disk | FTP | other *** search
-
- This is a simple program I wrote just to reduce my long distance costs.
- With very little effort (and an ANSI compiler) this will compile and
- run on just about any machine with any architecture. You might need
- to exert a little thought to decide where to put the "config" file but,
- the rest should be straight forward enough.
-
- All this program does is take an input file (or you may type in the
- relevant information from the keyboard directly into mkms should
- you indicate that option on the command line) and create a simple
- *IX bourne-shell script that mails out all the messages to the various
- addresses at once. You do this on your personal machine and archive
- the files and the script together (or not) and upload the archive
- (or all the files and script) to your mailing account and then extract
- the files from the archive (or not if you uploaded individual files)
- and lastly execute the script (for a script named "mail.sh" you would
- do something like ". ./mail.sh" after doing a "chmod 700 mail.sh")
- It seems complex at first but really it is simple once you have tried
- it. A simple step-by-step list of what you need to do:
-
- 1) write files to mail out
- 2) create input file
- 3) run mkms on input file ("mkms -i<input> -o<output>")
- 4) (optional) archive all the files and script
- 5) upload archive (or individul files and script) to mailing address.
- 6) (optional dependant on #4) extract files from archive
- 7) execute script
-
- That's all there is to it....
-
- There are three example files included in the archive - res.test,
- ftp.test and .mkmsrc. The res.test is a sample mail input file, ftp.test
- is a sample ftp index file and .mkmsrc is just an example of the "config"
- file. This "config" file is where the user places his/her "aliases".
-
- Add lines to the config file in the manner:
-
- alias real_address
-
- (the alias must be a single string with no embedded spaces as must
- be the real_address. Both must be separated by a single space ONLY)
- So that if you want to use "airk" in the input instead of having to
- type out "uairk@mcl.mcl.ucsb.edu" each time you use that address to
- mail to your entry in your config file (.mkmsrc) would be:
-
- airk uairk@mcl.mcl.ucsb.edu
-
- The config file should be in the upmost level of your home directory
- since mkms looks at "$HOME/.mkmsrc" to find it. Of course
- you can compile it differently.
-
- The input looks like:
-
- address file subject
-
- Where "address" is the real address or alias (from the config file)
- of the receiving address. "file" is the file you are sending to
- "address" and "subject" is the subject header you want to appear
- with that file when the user at "address" opens his/her electronic
- mail box. An example might be:
-
- airk a_message_to.airk What's new with you?
-
- So here airk (an alias for uairk@mcl.mcl.ucsb.edu) is a receiving
- address. To that address the file "a_message_to.airk" is sent
- with the subject header "What's new with you".
-
- It could also be done as:
-
- uairk@mcl.mcl.ucsb.edu a_message_to.airk What's new with you?
-
- Where the alias was not used.
-
- A note on ftp sites and usage for ncftp:
-
- If I were to go to ftp.cdrom.com to retrieve the file
-
- /pub/aminet/util/misc/mkms.tar.gz
-
- I could do this:
-
- ncftp ftp.cdrom.com:/pub/aminet/util/misc/mkms.tar.gz
-
- and ncftp would facilitate the retrieval for me. The way mkms works
- with this is by letting you create an index file like the sample
- included with this distribution. The command line then would be:
-
- mkms -F -i ftp.test -S ftp.cdrom.com:/pub/aminet -o ftp.sh
-
- (note that since mkms uses getopt() you need to indicate the input
- and output files as well as the ftp site name following their
- respective command line flags)
-
- which would have mkms read in the ftp index file and create a script
- to retrieve each of the files in the index using the path
-
- ftp.cdrom.com:/pub/aminet
-
- If you look at the example index you should see how this works. It
- is probably wise to create entries in your .mkmsrc file for ftp sites
- you visit often. See the example .mkmsrc file.
-
- An yet another side note:
-
- The .mkmsrc file also takes comments. Comments have a '#' in the first
- column. Those lines beginning with a '#', space, or tab will be ignored.
- Not that comments should be necessary but, someone might find use for
- them.
-
- You should see the manpage (mkms.1) for details on the other
- various options and the bug...
-
- One other thing:
-
- I make extensive use of the clib function "strsep". It is therefore
- impossible to compile mkms without the ability to use strsep. If
- your compiler's C function library does not contain strsep() just
- comment out the line in the Makefile that defines SRCS and uncomment
- the one that includes strsep.c (ie - remove the '#' from the one
- with strsep.c and put a '#' in front of the line for SRCS that does
- not have strsep.c) If your compiler's clib DOES have strsep() then
- make sure that the line that includes strsep.c is commented out and
- the line that does not include strsep.c is uncommented. To find out
- if you have strsep() compiler's clib - just do:
-
- grep -i strsep /usr/include/string.h
-
- (that's where strsep() should be if it exists) If you get no response
- on that inquiry it's likely you do not have it.
-
-
- Again, strsep.c is property of BSD and I am including it here under
- the copyright license that is a part of the file strsep.c.
-
- I should probably rewrite mkms to look for the config file someplace
- else besides '$HOME' since some people like to change that variable
- (I have no idea why) but, I wrote it for myself mostly since my Long
- Distance costs were getting outta hand (there's no local access to the
- internet here) and I needed a quick and cheap solution to the problem.
- I can be contacted at:
-
- gort@shell.portal.com
-
- if there are serious problems with mkms.
-
-
- disclaimer:
-
- This is freeware - therefore you may do with it what you wish since I
- am tossing it into the public domain. If you do make changes to the
- sources, mark them as changes so that others know the original author
- did not create those changes. MKMS however is intended to be FREEware
- and hence it should stay that way. It may not be sold for any price.
-
- Being as mkms is free software and in the public domain I make no
- claims as to what it will or will not do nor do I, the author, accept any
- responsibility for any damages to man, machine, data, or animal due to
- the use or misuse of this software.
-
- This software and all documents from the original must be included in
- any further distribution of this package.
-
- This software (mkms.c, Makefile, mkms.1 ftp.test, mail.test, .mkmsrc)
- is Copyright (c)1994 by Eric R. Augustine.
-
-
-
-